package com.menu.Mapper;

import com.menu.Pojo.Menu;

import java.util.List;

public interface MenuMapper {

    /**
     * 通过id查找
     * @param menuId
     * @return
     */
    Menu findByMenuId(Integer menuId);

//    Integer addMenuBasic(Integer userId,String releaseTime,String introduce,Integer ofComplete,String tips,String difficulty,String cookTime);
    Integer addMenuBasic(Menu menu);

    Integer updateMenuSrc(String menuSrc,Integer menuId);

    Integer updateIngredientsIds(String ingredientIds,Integer menuId);

    Integer updateStepIds(String stepIds,Integer menuId);

    /**
     * 根据名字查询-带分页
     * @param menuName
     * @return
     */
    List<Menu> findByMenuNameLike(String menuName);

    /**
     * 带分页查询所有的菜谱-带分页
     * @return
     */
    List<Menu> findAllMenu();

    /**
     * 最新菜谱
     * @return
     */
    List<Menu> findAllNearTimeMenu();

    /**
     * 精选菜谱
     * @return
     */
    List<Menu> findAllMenuByCollection();

    /**
     * 模糊查询根据收藏最多遍历
     * @return
     */
    List<Menu> findAllMenuByCollectionNameLike(String menuName);

    /**
     * 模糊查询根据浏览量最多遍历
     * @param menuName
     * @return
     */
    List<Menu> findAllMenuByDohNameLike(String menuName);

    /**
     * 边聊某用户发布的菜谱
     * @param userId
     * @return
     */
    List<Menu> findMenuByUserId(Integer userId);

    /**
     * 审过通过
     * @param menuId
     * @return
     */
    Integer updateStateToOne(Integer menuId);

    /**
     * 审核不通过
     * @param menuId
     * @return
     */
    Integer updateStateToZero(Integer menuId);

    /**
     * 找到所有食谱的封面
     * @return
     */
    List<Menu> findAllMenuSrc();

    /**
     * 根据id删除
     * @param menuId
     * @return
     */
    Integer deleteMenu(Integer menuId);

    /**
     * 批量删除id
     * @param menuId
     * @return
     */
    Integer batchDeleteMenuId(Integer[] menuId);

    /**
     * 后台查询食谱
     * @param menuName
     * @return
     */
    List<Menu> adminFindByMenuNameLike(String menuName);

    /**
     * 查找所有审核通过的食谱
     * @return
     */
    List<Menu> findAllMenuByStateOne();
}
